/*******************************************************************************
 * 作者:    水煮肉片饭(27185709@qq.com)
 * 版本:    v1.1
 * 描述:    在Creator编辑器中播放Spine动画
 * 只要把这个文件丢到项目目录里就行，不需要任何其他操作
*******************************************************************************/
CC_EDITOR && cc.game.once(cc.game.EVENT_ENGINE_INITED, function () {
    cc.js.mixin(sp.Skeleton.prototype, {
        update(dt: number) {
            cc['engine']._animatingInEditMode = 1;
            if (this.paused) return;
            dt *= this.timeScale * sp['timeScale'];
            if (!this.isAnimationCached()) { this._updateRealtime(dt); return; }
            if (!this._isAniComplete) { this._updateCache(dt); return; }
            if (this._animationQueue.length === 0 && !this._headAniInfo) {
                let frameCache = this._frameCache;
                if (frameCache?.isInvalid()) {
                    frameCache.updateToFrame();
                    let frames = frameCache.frames;
                    this._curFrame = frames[frames.length - 1];
                }
            } else {
                this._headAniInfo ??= this._animationQueue.shift();
                this._accTime += dt;
                if (this._accTime > this._headAniInfo.delay) {
                    let aniInfo = this._headAniInfo;
                    this._headAniInfo = null;
                    this.setAnimation(0, aniInfo.animationName, aniInfo.loop);
                }
            }
        }
    })
})